The VBA Format function returns a string with a date or number in the specified format.
Format(value, format)
Using the Format function to display numeric values in different formats:
Sub FormatExample1() '98.1% MsgBox Format(0.9814, "0.0%") '54'321.90 MsgBox Format(54321.9, "##'##0.00") '54 321.90 € MsgBox Format(54321.9, "# ##0.00 €") End Sub
Using the Format function to display a date in different formats:
Sub FormatExample2() myDate = #10/30/2020 3:35:45 PM# '30.10.20 MsgBox Format(myDate, "dd/mm/yy") '30 October 2020 MsgBox Format(myDate, "d mmmm yyyy") 'Friday MsgBox Format(myDate, "dddd") '30/10/2020 15:35 MsgBox Format(myDate, "dd/mm/yyyy hh:nn") 'Friday 30 at 15h35 MsgBox Format(myDate, "dddd d at h\hnn") End Sub
Table of different date formats that can be used with the Format function (eg for the date 2021-01-08 09:05:07):
Symbols | Example | Description |
---|---|---|
d | 8 | Day (from 1 to 31) |
dd | 08 | Day (from 01 to 31) |
ddd | Fri | Day of the week (abbreviated) |
dddd | Friday | Day of the week |
m | 1 | Month (from 1 to 12) |
mm | 01 | Month (from 01 to 12) |
mmm | January | Month (abbreviated) |
mmmm | January | Month |
yy | 21 | Year (last 2 digits) |
yyyy | 2021 | Year |
h | 9 | Hours (from 0 to 23) |
hh | 09 | Hours (from 00 to 23) |
n | 5 | Minutes (from 0 to 59) |
nn | 05 | Minutes (from 00 to 59) |
s | 7 | Seconds (0 to 59) |
ss | 07 | Seconds (00 to 59) |